/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.escom.info.scanner.jsf;

import com.escom.administracion.dao.DominioDAO;
import com.escom.administracionperfiles.hbm.dto.Dominio;
import com.escom.cliente.exception.DAOException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.escom.info.scanner.jsf.util.JsfUtil;
import java.io.Serializable;

/**
 *
 * @author yamil
 */
public class DominioController implements Serializable{

    private DominioDAO dominioDAO;
    private List<Dominio> listaDominios;
    private Dominio current;




    public DominioDAO getDominioDAO() {
        return dominioDAO;
    }

    public void setDominioDAO(DominioDAO dominioDAO) {
        this.dominioDAO = dominioDAO;
    }
    public Dominio getSelected() {
          if(current==null)
          current=new Dominio();
        return current;
    }

    public void setcurrent(Dominio current) {
        this.current = current;
    }

    public String prepareCreate(){
        current=new Dominio();
        return "Create";
    }

    public List<Dominio> getListaDominios(){
        try {
            listaDominios = dominioDAO.findAll();

        } catch (DAOException ex) {
            Logger.getLogger(DominioController.class.getName()).log(Level.SEVERE, null, ex);
        }
        return listaDominios;
    }

    public String create(){
        try {
            current.setDescripcion(current.getDescripcion());
            current.setDominio(current.getDominio());
            dominioDAO.create(current);
            JsfUtil.addSuccessMessage("Dominio fue capturado Satisfactoriamente");
        } catch (DAOException ex) {
            Logger.getLogger(DominioController.class.getName()).log(Level.SEVERE, null, ex);
            JsfUtil.addErrorMessage("Error el dominio no ha sido creado"); //AQUI ESTA
        }
        return "View";
    }

    public String update(){
          try {
             System.out.println("update"+current.getDominio()) ;

            current.setDescripcion(current.getDescripcion());
            current.setDominio(current.getDominio());
            current.setNombre(current.getNombre());
            dominioDAO.edit(current);
            JsfUtil.addSuccessMessage("Dominio actualizado Satisfactoriamente");
        } catch (Exception ex) {
            Logger.getLogger(DominioController.class.getName()).log(Level.SEVERE, null, ex);
            JsfUtil.addErrorMessage("Error el dominio no ha sido actualizado"); //AQUI ESTA
        }
          return "View";
    }

    public String prepareEdit(Dominio dominio){
        current=dominio;
        return "Edit";
    }

    public String prepareView(Dominio dominio){
        current=dominio;

        return "View";
    }

    public void prepareDestroy(Dominio dominio){
        try {
            //current=dominio;
            dominioDAO.remove(dominio);
            JsfUtil.addSuccessMessage("Dominio eliminado Satisfactoriamente");
        } catch (DAOException ex) {
            Logger.getLogger(DominioController.class.getName()).log(Level.SEVERE, null, ex);
            JsfUtil.addErrorMessage("Error el dominio no ha sido eliminado"); //AQUI ESTA
        }
    }

    public String prepareList(){
        return "List";
    }

}
